package com.vfconsulting.common.action;

import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.vfconsulting.common.model.Usuario;
import com.vfconsulting.common.service.CommonService;

@SuppressWarnings({ "rawtypes", "unchecked" })
public class LoginAction extends ActionSupport{
	
	private static final long serialVersionUID = 1L;
	private Log log = LogFactory.getLog(getClass());
	
	private Usuario usuario = new Usuario();
	private String mensaje;
	private CommonService service;
	
	public LoginAction(){
		service = new CommonService();
		usuario = new Usuario();
	}
	
	public String execute() throws Exception{
		
		String resultado = SUCCESS;
		
		log.info("method: login");
		
		if (usuario.getNomaccessUsu().length() == 0 &&
			usuario.getPassUsu().length() == 0) {
            addActionMessage("Ingrese de usuario y password");
            resultado =  ERROR;
        }else{
    		try{
    			Usuario usuariobd = service.validarUsuario(usuario);
    			Map session = ActionContext.getContext().getSession();
    			session.put("usuario", usuariobd);			
    		}catch(Exception ex){
    			log.error("*** ERROR ***", ex);
    			addActionMessage(ex.getMessage());
    			return ERROR;
    		}        	
        }
		
		return resultado; 
	}
	
	public String getMensaje() {
		return mensaje;
	}

	public void setMensaje(String mensaje) {
		this.mensaje = mensaje;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

}
